#ifndef DIELECTRICMATERIAL_H_
#define DIELECTRICMATERIAL_H_

#include "Material.h"
#include "Color.h"

class DielectricMaterial : public Material {
 public:
  DielectricMaterial( float eta, float exponent );
  virtual ~DielectricMaterial();

  virtual void shade(Color& result, const RenderContext& context, const Ray& ray,
                     const HitRecord& hit, const Color& atten, int depth) const;

 private:
  DielectricMaterial(const DielectricMaterial&);
  DielectricMaterial& operator=(const DielectricMaterial&);

  float eta;
  float inv_eta;
  float r0;
  float exponent;
};

#endif /*DIELECTRICMATERIAL_H_*/
